package com.ruoyi.oto.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.domain.entity.MemberUser;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.oto.domain.CompanyCore;
import com.ruoyi.oto.domain.dto.CompanyCheckDTO;
import com.ruoyi.oto.domain.dto.CompanyQuryDTO;
import com.ruoyi.oto.domain.dto.CompanyRegDTO;

import java.util.List;

/**
 * 企业服务
 *
 * @author ruoyi
 */
public interface CompanyCoreService extends IService<CompanyCore>
{
    /**
     * 分页查询企业列表
     * @param pageDTO
     * @return
     */
    IPage<CompanyCore> pageCompany(CompanyQuryDTO pageDTO);

    /**
     * 企业注册
     * @param memberUser
     * @param regDTO
     * @return
     */
    Long regCompany(MemberUser memberUser, CompanyRegDTO regDTO);

    /**
     * 编辑企业
     * @param loginUser
     * @param regDTO
     * @return
     */
    Long editCompany(LoginUser loginUser,CompanyRegDTO regDTO);

    /**
     * 删除企业
     * @param loginUser
     * @param companyId
     */
    void deleteCompany(LoginUser loginUser,Long companyId);
    /**
     * 按绑定账号查询管理的企业
     * @param memberId
     * @return
     */
    CompanyCore getCompanyByMemberId(Long memberId);

    /**
     * 后台审核企业
     * @param loginUser
     * @param checkDTO
     * @return
     */
    Long checkCompany(LoginUser loginUser, CompanyCheckDTO checkDTO);

    /**
     * 我联络的企业
     * @param loginUser
     * @return
     */
    List<CompanyCore> myContactCompany(LoginUser loginUser);
}
